Method and apparatus for ordering entertainment programs from different programming transmission sources

ABSTRACT

The present invention provides an improved method and apparatus for purchasing media features for programming transmissions. A selection is sent to a server system to buy an upgraded media feature for a programming transmission. The server system automatically coordinates purchasing the media feature from a programming transmission source and providing the media feature from the programming transmission source. In one embodiment, an entertainment system includes a user interface from which a viewer selects an upgraded media feature for a programming transmission, wherein the programming transmission with the upgraded media feature is provided to the entertainment system.

The present patent application is a continuation of U.S. patentapplication Ser. No. 09/580,305, filed May 26, 2000 (pending) which wasa divisional of U.S. patent application Ser. No. 09/183,587, filed Oct.30, 1998 (issued as U.S. Pat. No. 6,157,377). The entire contents ofthose applications are incorporated herein by reference.

BACKGROUND OF THE INVENTION

Field of the Invention

The present invention pertains to the field of programming transmissionsystems. More particularly, this invention relates to the art ofpurchasing upgraded media features for programming transmissions.

Background

In recent years, new forms of television, radio, and Internetprogramming transmissions, such as broadcasts, have developed. Forinstance, digital cable and satellite systems can provide hundreds ofchannels of programming with a range of quality and features availableon each channel. Similarly, viewers can take part in an increasingvariety of interactive events on the Internet, over cable systems, etc.,such as games, market places, and chat rooms. Even with conventionalantenna reception, a wide range of viewing and listening choices areavailable in many areas, and the introduction of digital broadcasts willincrease the number of features and options available on each channel.

Many viewers may not have entertainment systems that can take fulladvantage of all of the media features now available and likely tobecome available. For instance, audio media features may includemonotone, stereo, and various types of multi-channel surround sound. Aviewer may not have a television with stereo or surround soundcapability, in which case the additional bandwidth needed to broadcastwith the higher sound quality is wasted.

Other viewers may not appreciate certain media features for certainbroadcasts. For instance, a viewer may not care whether or not a newsbroadcast is in stereo, but the same viewer may want to watch a movie inmulti-channel surround sound.

In each of these exemplary situations, viewers may wish to pay only forthe media features that they can use, or they may be willing to pay moreto receive certain broadcasts with higher levels of media features.Therefore, a need exists for an improved method and apparatus forpurchasing media features for broadcasts.

SUMMARY OF THE INVENTION

The present invention provides an improved method and apparatus forpurchasing media features for programming transmissions. A selection issent to a server system to buy an upgraded media feature for aprogramming transmission. The server system automatically coordinatespurchasing the media feature from a programming transmission source andproviding the media feature from the programming transmission source. Inone embodiment, an entertainment system includes a user interface fromwhich a viewer selects an upgraded media feature for a programmingtransmission, wherein the programming transmission with the upgradedmedia feature is provided to the entertainment system.

BRIEF DESCRIPTION OF THE DRAWINGS

Examples of the present invention are illustrated in the accompanyingdrawings. The accompanying drawings, however, do not limit the scope ofthe present invention. Like references in the drawings indicate similarelements.

FIG. 1 illustrates one embodiment of the present invention.

FIG. 2 illustrates one embodiment of one aspect of the presentinvention.

FIG. 3 illustrates one embodiment of a second aspect of the presentinvention.

FIG. 4 demonstrates one embodiment of the present invention.

FIG. 5 illustrates one embodiment of a display provided by a userinterface from which upgraded media features can be selected.

FIG. 6 illustrates one embodiment of an entertainment system suitablefor use with the present invention.

FIG. 7 illustrates one embodiment of a computing device suitable for usewith the present invention.

FIG. 8 illustrates one embodiment of a computing device suitable for usewith the present invention.

DETAILED DESCRIPTION

FIG. 1 illustrates one embodiment of the present invention. The presentinvention allows viewers to purchase upgraded media features. Forinstance, in one embodiment, a viewer at client system 110 who hasordered a pay-per-view movie can pay an additional fee to receive themovie at a higher video resolution and/or in digital Dolby surroundsound rather than monotone audio.

Upgraded media features include, but are not limited to, a wide varietyof audio, video, and interactive effects. For instance, video resolutioncan be upgraded. This is particularly true for digital transmissions,such as broadcasts, from a view-on-demand programming source, such as abroadcast source. A broadcast source may have the option to sendmultiple broadcasts over a single digital channel simultaneously. Forinstance, a view-on-demand broadcast source may have access to 200channels in a particular area, and up to 20 broadcasts may be downloadedsimultaneously over each channel. As the number of simultaneousbroadcasts increase, the video quality of any one broadcast decreases.So, a viewer could pay more to receive a broadcast over a channel withfewer simultaneous broadcasts.

In one embodiment, a range of upgrades may be available. For instance, adefault range of video resolution may be at the lowest possibleresolution level, having the maximum number of simultaneous broadcastson a single channel. A highest range may be at the maximum possibleresolution, having a single broadcast on a single channel. Certaintelevisions, however, may not be able to take full advantage of thehighest possible resolution because the televisions cannot resolve thatmuch detail. In which case, one or more middle ranges may be created atapproximately the levels of resolution that many types of televisionscan display. For each incremental level of resolution, more bandwidth isneeded for the broadcast, so the price of each incremental level ofresolution may be higher.

Similar approaches can be contemplated and implemented for a variety ofupgraded media features from a wide range of broadcast sources. Asanother example, a viewer may pay for upgraded access to an interactiveevent. For instance, a real-time three-dimensional virtual gamingenvironment may be accessed by hundreds of virtual competitors over anetwork connection such as the Internet, a cable connection, satellitecommunications, etc. For each competitor, processing bandwidth may beexpended providing video and audio, and tracking movements and actions,etc. A gamer may purchase upgraded media features for additional videodetail, audio quality, the ability to speak in real time to othergarners, etc. Each incremental level of detail consumes more bandwidthand may have an incrementally higher cost.

Another possible upgraded media feature is a pay-per-record feature. Forinstance, digital television can be transmitted in a view-only format sothat a recorded image of the transmission is impaired. In which case, aviewer may buy an upgraded media feature to receive a recordable versionof the broadcast.

In the illustrated embodiment of FIG. 1, as discussed in more detailbelow, a viewer at client system 110 selects one or more upgraded mediafeatures for a broadcast. The selection is sent to server system 140over communications media 120. Server system 140 automaticallycoordinates billing for the upgraded media features, and automaticallycoordinates providing the upgraded media features from broadcast sources130. Numerous client systems 110 can be coupled to one or more serversystems 140. For instance, server systems 140 may be distributed byregion, and a region may include thousands of client systems 110.

Communications media 120 represents a wide range of media. For instance,communications media 120 could include UHFNHF wireless transmission,twisted pair telephone lines, fiber optic lines, coaxial cable linessuch as cable television lines, satellite antenna wirelesstransmissions, computer network communications such as through theInternet or a wide or local area network, etc. Communications amongclient system 110, broadcast sources 130, and server system 140 mayinvolve a combination of media within communications media 120. Forinstance, client system 110 may communicate with server system 140 overthe Internet, server system 140 may communicate with broadcast sources130 over direct telephone lines, and broadcast sources 130 may transmitto client system 110 over satellite antenna transmissions. Numerousadditional combinations and alternate connections can be contemplatedand used.

Broadcast sources 130 can include a wide variety of digital and analogaudio, video, and interactive sources. For instance, broadcast sources130 may include local television and radio stations received over aregular antenna, television and radio stations received over a mini-dishsatellite antenna, television and radio stations received over a coaxialcable, a number of interactive web sites accessible over the Internet,etc. Broadcasts can also be received from broadcast sourcessimultaneously. For instance, a viewer may receive an interactivebroadcast, such as a game, and an audio broadcast, such as music, at thesame time.

FIG. 2 illustrates one embodiment of client system 110 in more detail.As discussed below with reference to FIG. 6, client system 110 may be anentertainment system including numerous entertainment components. In theillustrated embodiment, the components include user interface 210,program database 220, and turner interface 230. User interface 210includes any of a number of output devices such as a display deviceand/or an audio device to provide a viewer with one or more optionalupgrades and a cost for each upgrade for a given broadcast. Userinterface 210 also includes any of a number of input devices such as amouse, a track ball, a key pad, a voice recognition unit, etc. Theviewer can select from the one or more optional upgrades using an inputdevice.

The user interface also communicates with server system 140, programdatabase 220, and tuner interface 230. From program database 220, userinterface 210 can retrieve optional upgrades available for eachbroadcast. In one embodiment, programming database 220 also includes aprogramming guide which lists broadcasts by time and channel. Theoptional upgrades for each broadcast can be listed along with therespective broadcast in the programming guide.

Programming database 220 can be updated on a regular basis. For instancenew programming information can be downloaded daily or weekly from anyof a number of sources and stored in programming database 220. In oneembodiment, client system 110 automatically receives updated programminginformation from broadcast sources 130 over the Internet on a dailybasis.

Tuner interface 230 can include any of a number of tuners, receivers,descramblers, etc. to interface with broadcast sources 130 overcommunications media 120. For instance, in one embodiment, tunerinterface 230 includes a descrambler for certain pay cable channels, aUHFNHF tuner, a digital television receiver, and a satellite televisionreceiver.

FIG. 3 illustrates one embodiment of server system 140 in more detail.Server system 140 includes processing server 310 and billing server 320.Processing server 310 receives a selection from client system 110 overcommunications media 120. The selection indicates one or more upgradedmedia features for a particular broadcast and a cost for each upgrade.Processing server 310 provides the cost information to billing server320. With the upgraded media features, processing server 310 places anorder to the respective broadcast source or sources among broadcastsources 130 to have the upgraded media features provided to the viewerat client system 110.

A particular broadcast source can be identified in any of a number ofdifferent ways. For instance, the selection from client system 110 mayinclude a broadcast identifier to which the upgraded media featurescorrespond. Then, processing server 310 may cross reference thebroadcast with a particular broadcast source based on a programmingguide or an index.

In one embodiment, providing the upgraded feature involves broadcastingone of a number of different versions of a broadcast over a givenchannel. In which case, the particular broadcast source may provideprocessing server 310 with a token identifying the given channel. Theselection from client system 110 may also include an identifier of theclient system, so that processing server 310 can provide the token toclient system 110, and client system 110 can tune to the appropriatechannel based on the token.

In other embodiments, providing the upgraded feature involvesdescrambling the upgraded media feature within a broadcast on a givenchannel. For instance, if a viewer buys an upgraded media feature to beable to record a digital broadcast that is normally transmitted in aview-only format, an additional part of the signal can be descrambled tomake the broadcast recordable. In one embodiment, the descrambling canbe performed at the broadcast source, in which case processing server310 provides an identifier of client system 110 to the broadcast sourceand the broadcast source descrambles the broadcast for the identifiedclient system 110.

In other embodiments, the descrambling, or conditional access, is doneat the client system. In which case, the particular broadcast source canprovide a token to processing server 310. In turn, processing server 310will provide the token to client system 110, and client system 110 willuse the token to obtain the conditional access.

In certain embodiments, a viewer at client system 110 may select ablanket upgrade, so that all broadcasts are received with certain levelsmedia features whenever the media features are available. For instance,a viewer may select a blanket upgrade to receive broadcasts in stereo.In which case, processing server 310 can store the blanket upgrade forthe particular viewer and coordinate the provision of each broadcastaccordingly, and, as discussed below, billing server 320 can coordinatebilling the blanket upgrade accordingly.

Billing server 320 can coordinate billing for all the upgraded mediafeatures. In one embodiment, billing server 320 stores billinginformation for a particular client responsible for a given clientsystem 110, and bills that client for all charges related to theparticular client system 110. In alternate embodiments, billing server320 stores client billing information for individual viewers and billsindividual viewers no matter which client system 110 the particularviewer is at.

Billing server 320 can identify a client in any of a number of differentways. For instance, the selection information provided by client system110 may include an identifier of the client system, or an identifier ofthe particular viewer depending on the billing scheme. The particularviewer can be identified at client system 110 in any of a number ofdifferent ways. For instance a viewer may be asked to provide a passwordto gain access to server system 140 from client system 110. In anotherexample, a face recognition utility could be used to automaticallyidentify the viewer at client system 110. Countless additionalidentification schemes can be contemplated and implemented.

In one embodiment, billing server 320 stores credit card information forclients and bills upgrades to the respective client accounts 330.Billing server 320 may bill a client's account for each transaction oraccording to a billing cycle, including several transactions in onebill. Billing server 320 may bill the entire amount directly to clientaccounts 330 and provide a receipt to broadcast sources 130. Then,billing server 320 may receive periodic billings from broadcast sources130 for their share. For instance, billing server 320 may bill severalthousand clients every month, but only receive one bill each month fromeach broadcast source for the total amount of their respective shares.

Alternately, billing server 320 may bill client accounts 330 only forthe portion of the fees owed for services performed by server system140. In which case, billing server 320 may provide billing informationor client identification data to the respective broadcast sources 130for each transaction so that the respective broadcast sources can billthe client directly.

In alternate embodiments, billing information could be provided fromclient system 110 for each individual transaction rather than storingthe billing information at billing server 320. For instance, if clientsystem 110 is located in a hotel, many different viewers may use thesystem. Rather than storing billing information for each new viewer,billing server 320 may receive the billing information along with theselection of media upgrades. That is, the user interface at clientsystem 110 can collect credit card information along with a selection ofmedia upgrades.

Billing server 320 may perform additional functions. For instance,billing server 320 may check a client's credit account beforeauthorizing processing server 310 to coordinate provision of an upgradedmedia feature. Billing server 320 may also store a database of pricesand identify a price for an upgrade based on an identifier of thebroadcast and the upgrade received from client system 110. Numerousalternative functions and billings schemes can be contemplated andimplemented.

In alternate embodiments, one or more components in FIGS. 1-3 can becombined, re-arranged, and/or deleted. Alternate embodiments may alsoinclude numerous additional components, as illustrated for oneembodiment in FIG. 6 below.

FIG. 4 demonstrates how an upgraded media feature can be purchased usingone embodiment of the present invention. In step 410, an upgraded mediafeature is selected from user interface 210. The selection is sent toserver system 140 over communications media 120, in step 420. In step430, processing server 310 orders the upgraded media feature from one ofbroadcast sources 130. Depending on how the upgraded media feature is tobe provided, processing server 310 may receive a token back from thebroadcast source, in step 440. In which case, processing server 310provides the token to client system 110 so that client system 110 canreceive the upgraded media feature. In step 450, billing server 320coordinates billing the client's account, and in step 460, the broadcastis received by client system 110 with the upgraded media feature.

FIG. 5 illustrates one embodiment of a display provided on userinterface 210. The display includes a programming list from variousbroadcast sources and lists of upgraded media features for eachbroadcast along with a cost for each feature. For instance, in theillustrated display, the client system has access to pay-per-viewbroadcasts from a cable broadcast source. The programming guide lists anumber of available movies including “Disney's Lady and the Tramp.” Thebase rate for the move is $2.50, and three show times are listed. Thedefault media feature is view only. The viewer has the option, however,to purchase an upgraded media feature to receive a recordable versionfor an additional $1.50. The viewer can also select an audio upgrade for$0.50. Numerous additional pay-per-view broadcasts could be listed, witha variety of upgrade options for each.

The viewer also has access to view-on-demand movies from a satellitebroadcast source. The first movie listed is “Titanic,” and the viewerhas the option to down load it at any time for $7.00. Upgrade optionsfor “Titanic” include video quality upgrades, for instance to downloadthe movie over a channel with fewer simultaneous broadcasts to receivehigher resolution and definition, a recordable version upgrade, and anaudio upgrade. Numerous additional view-on-demand broadcasts could belisted, with a variety of upgrade options for each.

The viewer also has access to a list of interactive events over theInternet. The list includes access to “Mech Warrior 3000” at a defaultrate of $1.50 per hour. The viewer has the option to buy video upgradesand audio upgrades, which the viewer may or may not be interested independing on the video and audio capabilities of his or herentertainment system. Numerous additional interactive events could belisted, with a variety of upgrade options for each.

FIG. 6 is a block diagram illustrating the system components of anexemplary entertainment system comprising one embodiment of clientsystem 110. System 600 includes television/display device 602, videorecorder/playback device 606, digital video disk (DVD, also referred toas digital versatile disk) recorder/playback device 614, audio/videotuner and/or amplifier 610, audio playback/recorder device 622, andcompact disc (CD) player 612, all coupled to a common input/output (I/O)bus 608. It is to be appreciated that the use of the common I/O bus 608is for ease of explanation in the diagram only, and that a number ofalternative means of routing input and output signals may bebeneficially employed. For example, audio input and output could berouted with an appropriate number of independent audio “patch” cables,video signals may be routed with independent coaxial cables, and controlsignals may be routed along a two-wire serial line, or through infrared(IR) communication signals or radio frequency (RF) communicationsignals. By way of further example, audio, video, and/or control signalsmay also be routed along one or more buses in accordance with theUniversal Serial Bus Specification, Revision 1.0 (Jan. 15, 1996), or theHigh Performance Serial Bus IEEE Standard 1394, IEEE std. 1394-1995,draft 8.0v3, approved Dec. 12, 1995.

In addition, system 600 includes speaker system 616, microphone 618,video camera 620 and a wireless input/output control device 632. In oneembodiment, wireless I/O control device 632 is an entertainment systemremote control unit which communicates with the components of system 600through IR signals. In another embodiment, wireless I/O control device632 may be a wireless keyboard and/or cursor control device thatcommunicates with the components of system 600 through IR signals or RFsignals. In yet another embodiment, wireless I/O control device 632 maybe an IR or RF remote control device similar in appearance to a typicalentertainment system remote control with the added feature of atrack-ball or other cursor control mechanism that allows a user toposition a cursor on a display of system 600.

At the core of system 600 is system controller 604 incorporated with thefeatures of the present invention, configured to control a variety offeatures associated with the system components. As depicted, systemcontroller 604 is coupled to each of the system components, asnecessary, through I/O bus 608. In one embodiment, in addition to or inplace of I/O bus 608, system controller 604 may be configured with awireless communications transmitter (or transceiver), which is capableof communicating with the system components via IR signals or RF signals608′. Regardless of the control medium, system controller 604 isconfigured to control each of the entertainment system components ofsystem 600, although it is understood that each of the components may beindividually controlled with wireless I/O device 632.

System controller 604 retrieves and stores entertainment programminginformation available from a wide variety of sources. During operationof system 600, system controller 604 dynamically configures theoperating parameters of system 600 and offers additional value addedfeatures to enhance the user's enjoyment of system 600, for example asdiscussed above for the present invention. In one embodiment, systemcontroller 604 may be a computer system incorporated with the teachingsof the present invention, as will be discussed in further detail belowwith reference to FIG. 7. In another embodiment, system controller 604may be a “set-top” box endowed with the necessary processing power andincorporated with the teachings of the present invention. Regardless ofthe particular embodiment, system controller 604 may also be referred toas a “convergence system” designed to integrate the world ofentertainment systems and computing platforms to achieve the beneficialresults of the present invention among others.

Although the present invention is described in the context of theexemplary embodiments presented in the figures, those skilled in the artwill appreciate that the present invention is not limited to theseembodiments and may be practiced in a variety of alternate embodiments.Accordingly, the innovative features of the present invention may bepracticed in a system of greater or lesser complexity than that of thesystem depicted in FIG. 6. By way of example, devices may be added tosystem 600, or devices (e.g., video camera 620, microphone 618, DVDrecorder/playback device 614, etc.) may be removed from system 600.

As illustrated in FIG. 6, system 600 can be configured to receiveaudio/video programming input from a wide variety of sources. In oneembodiment, system 600 receives programming input from any or all of thefollowing sources: cable broadcast 624, satellite broadcast 626 (e.g.,via a satellite dish), very high frequency (VHF) or ultra high frequency(UHF) radio frequency communication of the broadcast networks 634 (e.g.,via an aerial antenna), and/or the telephone/computer network interface628. Further, it will be appreciated by those skilled in the art thatcable broadcast input 624, satellite broadcast input 626 and VHF/UHFinput 634 may include analog and/or digital programming such as highdefinition television (HDTV). Additionally, audio/video programming maybe received from a CD-ROM, DVD, or other digital or analog storagedevice via a playback device of system 100 (e.g., DVD recorder/playbackdevice 614). The Internet, an entertainment network, or other networkmay also provide audio/video programming, via, for example, interface628.

In addition to programming input, system 600 is also configured with anumber of general purpose control outputs 630 which may be configured tocontrol any number of devices. In one embodiment, for example, as systemcontroller 604 configures system 600 to display a movie, it may also dimthe lights in the room to a predetermined level to further enhance theviewing environment. Control circuitry which allows a computing deviceto control, for example, lighting, thermostat settings, and otherhousehold appliances (via, for example, the electrical wiring in ahouse) are well known in the art and thus will not be described further.

Except for the incorporated teachings of the present invention, asdiscussed above, system controller 604 is intended to represent a broadcategory of computing devices known in the art. An example of such acomputing device is a desktop computer system equipped with a highperformance microprocessor(s), such as the Pentium® processor, Pentium®Pro processor, or Pentium® II processor manufactured by and commonlyavailable from Intel Corporation of Santa Clara, Calif. Another exampleof such a computing device is an Internet “appliance” device, such asMicrosoft's WebTV™ Internet Terminal available from Sony ElectronicsInc. of Park Ridge, N.J., or Philips Consumer Electronics Company ofKnoxville, Tenn. It is to be appreciated that the housing size anddesign for system controller 604 may be altered, allowing it to bettervisually fit into system 600.

It is also to be appreciated that the several entertainment systemcomponents depicted in FIG. 6 can be beneficially combined. By way ofexample, system controller 604 could be integrated intotelevision/display device 602, DVD recorder/playback device 614, oraudio/video tuner and amplifier 610.

FIG. 7 illustrates one embodiment of a computing device suitable forsystem controller 604 of FIG. 6. In the illustrated embodiment of FIG.7, device 700 includes processor 702 and cache memory 704 coupled toeach other as shown. Additionally, device 700 includes high performanceinput/output (I/O) bus 706 and standard I/O bus 708. Host bridge 710couples processor 702 to high performance I/O bus 706, whereas I/O busbridge 712 couples the two buses 706 and 708 to each other. Coupled tobus 706 are network/communication interface 724 and system memory 714.Coupled to bus 708 is mass storage 720, keyboard and pointing device722, and I/O ports 726. Collectively, these elements are intended torepresent a broad category of hardware systems, including but notlimited to general purpose computer systems based on the Pentium®processor, Pentium® Pro processor, or Pentium® II processor,manufactured by Intel Corporation of Santa Clara, Calif.

In one embodiment, various electronic devices are also coupled to highperformance I/O bus 706. As illustrated, analog tuner/digitalsatellite/cable devices 728, are also coupled to high performance I/Obus 706 to allow device 700 to “tune” to various programming inputchannels.

These elements 702-728 perform their conventional functions known in theart. In particular, network/communication interface 724 is used toprovide communication between device 700 and any of a wide range ofconventional networks, such as an Ethernet, token ring, the Internet,etc. It is to be appreciated that the circuitry of interface 724 isdependent on the type of network the device 700 is being coupled to.

Mass storage 720 is used to provide permanent storage for the data andprogramming instructions to implement the above described functions,whereas system memory 714 is used to provide temporary storage for thedata and programming instructions when executed by processor 702. I/Oports 726 are one or more serial and/or parallel communication portsused to provide communication between additional peripheral deviceswhich may be coupled to device 700.

It is to be appreciated that various components of device 700 may bere-arranged. For example, cache 704 may be on-chip with processor 702.Alternatively, cache 704 and processor 702 may be packaged together as a“processor module”, with processor 702 being referred to as the“processor core”. Furthermore, certain implementations of the presentinvention may not require nor include all of the above components. Forexample, mass storage 720, keyboard and pointing device 722, and/ornetwork/communication interface 724 may not be included in device 700.Additionally, the peripheral devices shown coupled to standard I/O bus708 may be coupled to high performance I/O bus 706; in addition, in someimplementations only a single bus may exist with the components ofdevice 700 being coupled to the single bus. Furthermore, additionalcomponents may be included in device 700, such as additional processors,storage devices, busses, or memories.

In one embodiment, system controller 604 of FIG. 6, as discussed above,is implemented as software routines run by device 700 of FIG. 7. Thesesoftware routines comprise a plurality or series of instructions to beexecuted by a processor in a hardware system, such as processor 702 ofFIG. 7. Initially, the series of instructions are stored on a storagedevice, such as mass storage 720. It is to be appreciated that theseries of instructions can be stored using any conventional storagemedium, such as a diskette, CD-ROM, magnetic tape, DVD, laser disk, ROM,Flash memory, etc. It is also to be appreciated that the series ofinstructions need not be stored locally, and could be received from aremote storage device, such as a server on a network, vianetwork/communication interface 724. The instructions are copied fromthe storage device, such as mass storage 720, into memory 714 and thenaccessed and executed by processor 702. In one implementation, thesesoftware routines are written in the C++ programming language. It is tobe appreciated, however, that these routines may be implemented in anyof a wide variety of programming languages.

In alternate embodiments, the present invention is implemented indiscrete hardware or firmware. For example, one or more applicationspecific integrated circuits (ASICs) could be programmed with the abovedescribed functions of the present invention. By way of another example,system controller 604 could be implemented in one or more ASICs of anadditional circuit board for insertion into hardware system 700 of FIG.7.

FIG. 8 illustrates one embodiment of a computer system 800 suitable forserver system 140. In the illustrated embodiment, computer system 800includes processor 802 coupled to system memory 814 and I/O bus bridge812 over high performance bus 806. I/O bus bridge 812, in turn, iscoupled to client I/O module 820, broadcast source I/O module 830, andbilling I/O module 840 over I/O bus 808. In alternate embodiments, oneor more components of FIG. 8 may be re-arranged or combined. Forinstance, I/O modules 820, 830, and 840 may be combined into a singleI/O module. In another embodiment, one or more additional components maybe added such as additional buses, processors, memories, etc.

In the illustrated embodiment, system memory 814 provides storage forthe data and programming instructions to be implemented by processor 802to perform the above described functions of server system 140. Initiallythe programming instructions can be stored using any conventionalstorage medium, such as a diskette, a CD-ROM, magnetic tape, DVD, ROM,Flash memory, etc., and downloaded to system memory 814. It is to beappreciated that the series of programming instructions need not bestored locally, and could be received from a remote storage device suchas a server on a network. From the instructions, processor 802 uses I/Omodules 820, 830, and 840 to communicate with the respective entities tocoordinate provision of and billing for the upgraded media features asdiscussed above.

In alternate embodiments, the functions of server system 110 can beimplemented in discrete hardware or firmware. For example, one or moreapplication specific integrated circuits (ASICs) could be programmedwith the above described functions of server system 110. In anotherexample, the functions could be implemented in one or more ASICs of anadditional circuit board for insertion into computer system 800.

Thus, an improved method and apparatus for purchasing media features forbroadcasts is described. Whereas many alterations and modifications ofthe present invention will be comprehended by a person skilled in theart after having read the foregoing description, it is to be understoodthat the particular embodiments shown and described by way ofillustration are in no way intended to be considered limiting.Therefore, references to details of particular embodiments are notintended to limit the scope of the claims.

We claim:
 1. A method comprising: receiving information regarding aplurality of different entertainment programs and a plurality ofdifferent video resolutions associated with at least one entertainmentprogram; displaying at a displaying device a list of entertainmentprograms and, for at least one entertainment program, a plurality ofdifferent video resolutions; receiving an entertainment programselection and a video resolution selection from a user via an inputdevice; transmitting, via a communication network, the entertainmentprogram selection together with the video resolution selection from thedisplayed plurality to an entertainment program provider, the videoresolution selection being provided in part based on resolutioncapabilities of the displaying device, the displaying device intendedfor viewing the selected entertainment program; and receiving, via thecommunication network, the selected entertainment program in accordancewith the selected video resolution and a token to enable the displayingdevice to display the selected entertainment program.
 2. The method ofclaim 1 wherein receiving information comprises receiving informationregarding costs for each of the plurality of different video resolutionsand wherein displaying comprises displaying the costs.
 3. The method ofclaim 1 further comprising; receiving an entertainment selection and avideo resolution selection from a user through the displaying device;and wherein transmitting the selections comprises transmitting theselections received from the user.
 4. The method of claim 3 wherein theuser selection is received by interpreting signals transmitted from auser infrared transmitter.
 5. The method of claim 1 wherein receivinginformation comprises receiving information regarding availableprogramming transmission sources for the plurality of different videoresolutions and wherein displaying comprises displaying anidentification of the programming transmission sources.
 6. The method ofclaim 5 wherein the programming transmission sources comprise at leastone of local television stations, local radio stations, satellitebroadcasters, coaxial cable broadcasters, and interactive sites on theinternet.
 7. The method of claim 6 wherein the programming transmissionsources further comprise at least one of video tape, video disk andaudio disk.
 8. The method of claim 1 wherein receiving informationcomprises receiving information from a server system that is incommunication with a plurality of programming transmission sources andwherein transmitting the selections comprises transmitting theselections to the server system.
 9. The method of claim 8 whereinreceiving the selected entertainment program comprises receiving theselected entertainment program in accordance with the selected videoresolution from one of the plurality of programming transmissionsources.
 10. The method of claim 1 wherein receiving the selectedentertainment program comprises receiving the selected entertainmentprogram from one of cable television, antenna reception, satellitereception, mini-dish satellite reception, telephone dial-up service, andInternet access.
 11. The method of claim 1 wherein receiving theselected entertainment program comprises receiving the token from anappropriate one of a plurality of programming transmission sources, thetoken enabling the reception of the selected entertainment program inaccordance with the selected video resolution.
 12. A non-transitory,machine readable medium having stored thereon data representingsequences of instructions which when executed by a processor, cause theprocessor to: receive information regarding a plurality of differententertainment programs and a plurality of different video resolutionsassociated with at least one entertainment program; display at adisplaying device a list of entertainment programs and, for at least oneentertainment program, the plurality of different video resolutions;receive an entertainment program selection and a video resolutionselection from a user via an input device; transmit, via a communicationnetwork, an entertainment program selection together with a videoresolution selection from the displayed plurality to an entertainmentprogram provider, the video resolution selection being provided in partbased on resolution capabilities of the displaying device, thedisplaying device intended for viewing the selected entertainmentprogram; and receive, via the communication network, the selectedentertainment program in accordance with the selected video resolution.13. The machine readable medium of claim 12 wherein the instructionsfurther cause the processor to receive information regarding costs forthe plurality of different video resolutions and display the costs. 14.The machine readable medium of claim 12 wherein the instructions furthercause the processor to receive information regarding availableprogramming transmission sources for the plurality of different videoresolutions and display an identification of the programmingtransmission sources.
 15. The machine readable medium of claim 14wherein the programming transmission sources comprise at least one oflocal television stations, local radio stations, satellite broadcasters,coaxial cable broadcasters, and interactive sites on the internet. 16.The machine readable medium of claim 15 wherein the programmingtransmission sources further comprise at least one of video tape, videodisk and audio disk.
 17. The machine readable medium of claim 12 whereinthe instructions further cause the processor to receive information froma server system that is in communication with a plurality of programmingtransmission sources and transmit the selections to the server system.18. The machine readable medium of claim 17 wherein the instructionsfurther cause the processor to receive the selected entertainmentprogram in accordance with the selected video resolution from one of theplurality of programming transmission sources.
 19. The machine readablemedium of claim 12 wherein the instructions further cause the processorto receive the selected entertainment program from one of cabletelevision, antenna reception, satellite reception, mini-dish satellitereception, telephone dial-up service, and Internet access.
 20. Themachine readable medium of claim 12 wherein the instructions furthercause the processor to receive a token from an appropriate one of aplurality of programming transmission sources, the token enabling thereception of the selected entertainment program in accordance with theselected video resolution.
 21. A non-transitory, machine readable mediumhaving stored thereon data representing sequences of instructions whichwhen executed by a processor, cause the processor to: transmit, via acommunication network, information regarding a plurality of differententertainment programs and a plurality of different video resolutionsassociated with each entertainment program to a plurality of clientsystems; receive, via the communication network, an entertainmentprogram selection together with a video resolution selection from atleast one of the plurality of client systems, the video resolutionselection being provided in part based on resolution capabilities of adisplaying device intended for viewing the selected entertainmentprogram; and provide the at least one of the plurality of client systemswith access to receive the selected entertainment program in accordancewith the selected video resolution.
 22. The machine readable medium ofclaim 21 wherein the instructions further cause the processor toinstruct at least one of a plurality of programming transmission sourcesto transmit the selected entertainment program in accordance with thevideo resolution selection to the at least one of the plurality ofclient systems.
 23. The machine readable medium of claim 21 wherein theinstructions further cause the processor to provide a token from anappropriate one of a plurality of programming transmission sources tothe at least one of the plurality of client systems, the token enablingthe at least one of the plurality of client systems to receive theselected entertainment program in accordance with the selected videoresolution.
 24. The machine readable medium of claim 21 wherein theinstructions further cause the processor to transmit informationregarding costs for the plurality of different video resolutions. 25.The machine readable medium of claim 21 wherein the instructions furthercause the processor to transmit information regarding availableprogramming transmission sources for the plurality of different videoresolutions.
 26. The machine readable medium of claim 25 wherein theprogramming transmission sources comprise at least one of localtelevision stations, local radio stations, satellite broadcasters,coaxial cable broadcasters, and interactive sites on the internet.
 27. Amethod, comprising: transmitting, via a communication network,information regarding a plurality of different entertainment programsand a plurality of different video resolutions associated with eachentertainment program to a plurality of client systems; receiving, viathe communication network, an entertainment program selection togetherwith a video resolution selection from at least one of the plurality ofclient systems, the video resolution selection being provided in partbased on resolution capabilities of a displaying device intended forviewing the selected entertainment program; and providing the clientsystem with access to receive the selected entertainment program inaccordance with the selected video resolution.
 28. The method of claim27 further comprising instructing at least one of a plurality ofprogramming transmission sources to transmit the selected entertainmentprogram in accordance with the video resolution selection to the clientsystem.
 29. The method of claim 27 further comprising transmittinginformation regarding costs for the plurality of different videoresolutions.
 30. The method of claim 27 further comprising transmittinginformation regarding available programming transmission sources for theplurality of different video resolutions.
 31. The method of claim 30wherein the programming transmission sources comprise at least one oflocal television stations, local radio stations, satellite broadcasters,coaxial cable broadcasters, and interactive sites on the internet.